<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 引入ElementUI样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <!-- 引入ElementUI组件库 -->
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script src="axios-0.18.0.js"></script>
</head>
<body>
    <div id="app">
        <!--
            current-change：内置的事件，当前页码改变时会触发，可以获取到改变之后的页码
        -->
        <el-pagination
                @current-change="handleCurrentChange"
                current-page="pagenation.currentPage"
                page-size="pagenation.pageSize"
                layout="total, prev, pager, next, jumper"
                :total="pagenation.total">
        </el-pagination>
        <script>
            new Vue({
                el:'#app',
                data:{
                    pagenation:{
                        currentPage:1,
                        pageSize:10,
                        total:50
                    }
                },
                methods:{
                    handleCurrentChange(page){
                        //设置当前页
                        this.pagenation.currentPage=page;
                        //调用查询方法
                        this.findPage();
                    },
                    findBypage(){
                        //构造发往服务器的参数
                        let param={
                            currentPage:this.pagenation.currentPage,
                            pageSize:this.pagenation.pageSize
                        }
                        //向服务器发送请求，将当前页和每页显示条数传给服务器
                        //服务器响应的数据应该有总记录数，  将返回的总记录数赋值给pagenation.total
                        axios.post("/user",param).then((response)=>{
                            this.pagenation.total=response.data.total;
                        })
                    }
                },
                created(){
                    //页面加载后调用查询方法进行分页查询
                    this.findBypage()
                }
            });
        </script>
    </div>
</body>
</html>